home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 7 / BBS in a Box - Macintosh - Volume VII (BBS in a Box) (January 1993).iso / Files / Hyper / P / Prog. Notebook Updates.cpt / P.N. Update / background_2733.txt next >
Text File  |  1988-04-20  |  16KB  |  626 lines

  1. -- background: 2733 from stack: in. Update
  2. -- bmap block id: 5454
  3. -- flags: 0000
  4. -- background id: 0
  5. -- name: 
  6. ----- HyperTalk script -----
  7. on openCard
  8.   show field 1
  9.   show field 2
  10. end openCard
  11.  
  12. on closeCard
  13.   if (the number of this card is not 1) then
  14.     set the lockScreen to true
  15.     hide background field 1
  16.   end if
  17.   pass closeCard
  18. end closeCard
  19.  
  20.  
  21.  
  22. -- part 1 (field)
  23. -- low flags: 80
  24. -- high flags: 2007
  25. -- rect: left=35 top=54 right=304 bottom=499
  26. -- title width / last selected line: 0
  27. -- icon id / first selected line: 0 / 0
  28. -- text alignment: 0
  29. -- font id: 0
  30. -- text size: 12
  31. -- style flags: 0
  32. -- line height: 16
  33. -- part name: body
  34. ----- HyperTalk script -----
  35. on mouseUp
  36.   -- handles goto for command-click
  37.   -- note that stack offsets message window
  38.   if selection is empty then
  39.     repeat two times
  40.       click at the clickLoc
  41.     end repeat
  42.     put the selection into holder
  43.     push card
  44.     visual effect wipe right to black
  45.     visual effect wipe left
  46.     find holder in field keywords
  47.     if the result is not empty then
  48.       answer "No match for keyword " "e& holder"e
  49.       pop card
  50.     end if
  51.   end if
  52.   click at 0,0 --disable selection
  53. end mouseUp
  54.  
  55. On MouseWithin -- UNSOM technique by Guy Kuo, December 13, 1987
  56.   -- handles option-click to create new reference
  57.   if the OptionKey is down then
  58.     if the locktext of the target is true then
  59.       put true into DidUnlock
  60.       set locktext of target to false
  61.     else
  62.       put false into DidUnlock
  63.     end if
  64.     set the cursor to 2
  65.     repeat while (the OptionKey is down) and (item 1 of the rect of target <= item 1 of the mouseLoc) and (item 1 of the mouseLoc <= item 3 of the rect of target) and (item 2 of the rect of target <= item 2 of the mouseLoc) and (item 2 of the mouseLoc <= item 4 of the rect of target)
  66.       if the Mouse is down then
  67.         click at the MouseLoc
  68.         click at the ClickLoc
  69.         if the selection <> empty then
  70.           -- this is XrefText code
  71.           put the selection into holder
  72.           type holder & "*"
  73.           push card
  74.           find holder in field keywords
  75.           if the result is not empty then
  76.             doMenu New Card
  77.             put holder into field keywords
  78.             set the name of this card to holder
  79.             get the number of lines in card field finder of card theIndex
  80.             put holder into line it+1 of card field finder of card theIndex
  81.           else
  82.             put the length of holder into hl
  83.             put the length of word 1 of field keywords into kl
  84.             if hl<>kl then
  85.               answer "Close match but not exact!" with "Good Enough" or "New Card"
  86.               if it contains "New" then
  87.                 set lockscreen to true
  88.                 go prev
  89.                 doMenu New Card
  90.                 put holder into field keywords
  91.                 set the name of this card to holder
  92.                 get the number of lines in card field finder of card theIndex
  93.                 put holder into line it+1 of card field finder of card theIndex
  94.                 set lockscreen to false
  95.               end if
  96.             end if
  97.           end if
  98.         end if
  99.         if field body is empty then
  100.           type tab
  101.         else
  102.           click at -1,-1
  103.         end if
  104.       end if
  105.     end repeat
  106.     if DidUnlock then
  107.       set the locktext of the target to true
  108.     end if
  109.   end if
  110. end MouseWithin
  111.  
  112.  
  113.  
  114. -- part 44 (button)
  115. -- low flags: 00
  116. -- high flags: 0000
  117. -- rect: left=0 top=253 right=283 bottom=34
  118. -- title width / last selected line: 0
  119. -- icon id / first selected line: 32462 / 32462
  120. -- text alignment: 1
  121. -- font id: 0
  122. -- text size: 12
  123. -- style flags: 0
  124. -- line height: 16
  125. -- part name: ?
  126. ----- HyperTalk script -----
  127. on mouseUp
  128.   set lockscreen to true
  129.   go card ayuda
  130.   set lockscreen to false
  131. end mouseUp
  132.  
  133.  
  134.  
  135. -- part 7 (button)
  136. -- low flags: 00
  137. -- high flags: 0000
  138. -- rect: left=0 top=195 right=225 bottom=34
  139. -- title width / last selected line: 0
  140. -- icon id / first selected line: 29114 / 29114
  141. -- text alignment: 1
  142. -- font id: 0
  143. -- text size: 12
  144. -- style flags: 0
  145. -- line height: 16
  146. -- part name: Back
  147. ----- HyperTalk script -----
  148. on mouseUp
  149.   set lockscreen to true
  150.   if the number of this card = 1 then
  151.     answer "Careful. You might leave this stack." with Cancel or OK
  152.     if it = "OK" then
  153.       go back
  154.     else
  155.       exit mouseup
  156.     end if
  157.   else
  158.     pop card
  159.   end if
  160.   set lockscreen to false
  161. end mouseUp
  162.  
  163.  
  164.  
  165. -- part 8 (button)
  166. -- low flags: 00
  167. -- high flags: 0000
  168. -- rect: left=0 top=166 right=196 bottom=34
  169. -- title width / last selected line: 0
  170. -- icon id / first selected line: 0 / 0
  171. -- text alignment: 1
  172. -- font id: 0
  173. -- text size: 12
  174. -- style flags: 0
  175. -- line height: 16
  176. -- part name: New Stack
  177. ----- HyperTalk script -----
  178. on mouseUp
  179.   set lockscreen to true
  180.   put the short name of this stack into checker
  181.   doMenu New Stack...
  182.   get the short name of this stack
  183.   if it = checker then exit mouseup
  184.   put it into field "keywords"
  185.   push card
  186.   go back
  187.   ---
  188.   go to second card
  189.   doMenu "Copy Card"
  190.   pop card
  191.   doMenu "Paste Card"
  192.   push card
  193.   ---
  194.   go to first card of stack checker
  195.   doMenu "Copy Card"
  196.   pop card
  197.   go prev
  198.   doMenu "Paste Card"
  199.   set lockscreen to false
  200.   click at the loc of button "Re-Index"
  201. end mouseUp
  202.  
  203.  
  204.  
  205. -- part 9 (button)
  206. -- low flags: 00
  207. -- high flags: 0000
  208. -- rect: left=0 top=282 right=312 bottom=34
  209. -- title width / last selected line: 0
  210. -- icon id / first selected line: 1011 / 1011
  211. -- text alignment: 1
  212. -- font id: 0
  213. -- text size: 12
  214. -- style flags: 0
  215. -- line height: 16
  216. -- part name: Home
  217. ----- HyperTalk script -----
  218. on mouseUp
  219.   visual effect iris close to black
  220.   visual effect iris open to white
  221.   go home
  222. end mouseUp
  223.  
  224.  
  225.  
  226. -- part 12 (button)
  227. -- low flags: 80
  228. -- high flags: 8004
  229. -- rect: left=355 top=72 right=98 bottom=384
  230. -- title width / last selected line: 0
  231. -- icon id / first selected line: 0 / 0
  232. -- text alignment: 1
  233. -- font id: 0
  234. -- text size: 12
  235. -- style flags: 0
  236. -- line height: 16
  237. -- part name: OK
  238. ----- HyperTalk script -----
  239. on mouseUp
  240.   hide bkgnd button OK
  241.   show field body
  242. end mouseUp
  243.  
  244.  
  245.  
  246. -- part 17 (button)
  247. -- low flags: 00
  248. -- high flags: 0000
  249. -- rect: left=0 top=224 right=254 bottom=34
  250. -- title width / last selected line: 0
  251. -- icon id / first selected line: 21449 / 21449
  252. -- text alignment: 1
  253. -- font id: 0
  254. -- text size: 12
  255. -- style flags: 0
  256. -- line height: 16
  257. -- part name: first card
  258. ----- HyperTalk script -----
  259. on mouseUp
  260.   if the number of this card > 1 then
  261.     set lockscreen to true
  262.     go to first card
  263.     set lockscreen to false
  264.   else
  265.     play boing
  266.     answer "You're already at the first card!"
  267.   end if
  268. end mouseUp
  269.  
  270.  
  271.  
  272. -- part 32 (button)
  273. -- low flags: 00
  274. -- high flags: 0000
  275. -- rect: left=0 top=137 right=167 bottom=34
  276. -- title width / last selected line: 0
  277. -- icon id / first selected line: 0 / 0
  278. -- text alignment: 1
  279. -- font id: 0
  280. -- text size: 12
  281. -- style flags: 0
  282. -- line height: 16
  283. -- part name: Import Text
  284. ----- HyperTalk script -----
  285. on mouseUp
  286.   if the number of this card > 2 then
  287.     if field body is empty then
  288.       put FileName("TEXT") into theFile
  289.       if theFile is not empty then
  290.         open file theFile
  291.         read from file theFile for 30000
  292.         put it into bkgnd field body
  293.         close file theFile
  294.       end if
  295.     else
  296.       answer "Import Text: Replace or Add to field contents?" with "Replace" or "Add" or "Cancel"
  297.       if it = "Cancel" then exit mouseup
  298.       if it = "Replace" then
  299.         put FileName("TEXT") into theFile
  300.         if theFile is not empty then
  301.           open file theFile
  302.           read from file theFile for 30000
  303.           put it into bkgnd field body
  304.           close file theFile
  305.         end if
  306.       else
  307.         put return after last line of bkgnd field body
  308.         put FileName("TEXT") into theFile
  309.         if theFile is not empty then
  310.           open file theFile
  311.           read from file theFile for 30000
  312.           put the number of lines in field body into liner
  313.           put it after line liner of bkgnd field body
  314.           close file theFile
  315.         end if
  316.       end if
  317.     end if
  318.   else
  319.     play boing
  320.     Answer "Don't import to Index or Help Card!"
  321.   end if
  322. end mouseUp
  323.  
  324.  
  325.  
  326. -- part 33 (button)
  327. -- low flags: 00
  328. -- high flags: 0000
  329. -- rect: left=0 top=97 right=138 bottom=34
  330. -- title width / last selected line: 0
  331. -- icon id / first selected line: 26884 / 26884
  332. -- text alignment: 1
  333. -- font id: 0
  334. -- text size: 12
  335. -- style flags: 0
  336. -- line height: 16
  337. -- part name: pict
  338. ----- HyperTalk script -----
  339. on mouseUp
  340.   if the number of this card > 2 then
  341.     answer "Change to Picture or Text?" with Text or Picture
  342.     if it contains "Text" then
  343.       show tool window
  344.       choose select tool
  345.       doMenu Select All
  346.       doMenu Clear Picture
  347.       choose browse tool
  348.       hide tool window
  349.       hide pattern window
  350.     else
  351.       show pattern window
  352.       show tool window
  353.       choose rectangle tool
  354.       set filled to false
  355.       drag from (item 1 of the rect of field keywords), (item 2 of the rect of field keywords) to (item 3 of the rect of field keywords), (item 4 of the rect of field keywords)
  356.       drag from 0,28 to 512,342
  357.       choose bucket tool
  358.       set pattern to 1
  359.       click at 250,250
  360.       choose text tool
  361.       set the textfont to Geneva
  362.       set the textsize to 9
  363.       click at 10,320
  364.       type "Don't use eraser. Use white brush instead."
  365.       click at 10,330
  366.       type "Command-Space will toggle the menubar on or off."
  367.       choose brush tool
  368.     end if
  369.   else
  370.     play boing
  371.     answer "Uh-uh. You don't want to change this card."
  372.   end if
  373. end mouseUp
  374.  
  375.  
  376.  
  377. -- part 36 (button)
  378. -- low flags: 00
  379. -- high flags: 0000
  380. -- rect: left=0 top=61 right=98 bottom=34
  381. -- title width / last selected line: 0
  382. -- icon id / first selected line: 1007 / 1007
  383. -- text alignment: 1
  384. -- font id: 0
  385. -- text size: 12
  386. -- style flags: 0
  387. -- line height: 16
  388. -- part name: output
  389. ----- HyperTalk script -----
  390. on mouseUp
  391.   answer "Output to printer or to text file?" with "Printer" or "File" or "Cancel"
  392.   if it = "Cancel" then
  393.     exit mouseup
  394.   else if it = "Printer" then
  395.     answer "Print the stack or a report of its text" with "Stack" or "Report" or "Cancel"
  396.     if it = "Cancel" then
  397.       exit mouseup
  398.     else if it = "Stack" then
  399.       doMenu Print Stack...
  400.     else if it = "Report" then
  401.       doMenu Print Report...
  402.     end if
  403.   else if it = "File" then
  404.     answer "Save a file of the Stack or of this Card?" with "Stack" or "Card" or "Cancel"
  405.     if it = "Cancel" then
  406.       exit mouseup
  407.     else if it = "Stack" then
  408.       put the number of cards into counter
  409.       go to first card
  410.       put the short name of this stack & ".text" into tfilename
  411.       Get PutFile("Save text as:",tfilename)
  412.       if it is empty then exit mouseup
  413.       put it into textfile
  414.       set cursor to 4
  415.       set the loc of message to 10,120
  416.       put "Writing to file " & textfile & ".  Please wait..."into message
  417.       open file textfile
  418.       repeat (counter - 1)
  419.         go next card
  420.         write field keywords to file textfile
  421.         write return to file textfile
  422.         write field body to file textfile
  423.         write return to file textfile
  424.         write return to file textfile
  425.       end repeat
  426.       close file textfile
  427.       go first card
  428.       play harpsichord c e g bb
  429.       flash 1
  430.       put "Done." into message
  431.       wait 2 seconds
  432.       hide message
  433.     else if it = "Card" then
  434.       put the short name of this card & ".text" into tfilename
  435.       Get PutFile("Save text as:",tfilename)
  436.       if it is empty then exit mouseup
  437.       put it into textfile
  438.       open file textfile
  439.       write field keywords to file textfile
  440.       write return to file textfile
  441.       write field body to file textfile
  442.       close file textfile
  443.     end if
  444.   end if
  445. end mouseUp
  446.  
  447.  
  448.  
  449. -- part 45 (field)
  450. -- low flags: 00
  451. -- high flags: 2004
  452. -- rect: left=22 top=33 right=61 bottom=188
  453. -- title width / last selected line: 0
  454. -- icon id / first selected line: 0 / 0
  455. -- text alignment: 0
  456. -- font id: 0
  457. -- text size: 12
  458. -- style flags: 0
  459. -- line height: 16
  460. -- part name: keywords
  461. ----- HyperTalk script -----
  462. on mouseUp
  463.   set cursor to 4
  464.   put field keywords into holder
  465.   put the number of this card into num
  466.   put empty into field inlinks
  467.   put "One moment, Please." into line 2 of field inlinks
  468.   show field inlinkstitle
  469.   show field inlinks
  470.   show bkgnd button "Hide"
  471.   put "What links to " & holder &"?" into field inlinkstitle
  472.   put the number of cards into counter
  473.   set lockscreen to true
  474.   put empty into field inlinks
  475.   -- The next section is commented out and replaced with my own code
  476.   -- repeat counter
  477.   --  go next
  478.   --  if field body contains holder then
  479.   --  put return after last line of field inlinks of card num
  480.   --  put field keywords after last line of field inlinks of card num
  481.   -- end if
  482.   -- end repeat
  483.   -- Here is my search code
  484.   put 0 into first_card
  485.   push card
  486.   go card 2
  487.   repeat
  488.     find holder in field body
  489.     if (the result is empty) and (the number of this card is not first_card) then
  490.       if first_card is 0 then put the number of this card into first_card
  491.       if (field "keywords" is not holder) then
  492.         put return after last line of field inlinks of card num
  493.         put field keywords after last line of field inlinks of card num
  494.       end if
  495.       go next
  496.     else
  497.       exit repeat
  498.     end if
  499.   end repeat
  500.   pop card
  501.   -- end of my search code
  502.   play harpsichord
  503.   flash 1
  504.   set lockscreen to false
  505.   click at 0,0 --disable selection
  506.   set lockText of the target to true
  507.   if field inlinks is empty then
  508.     hide field inlinks
  509.     hide field inlinkstitle
  510.     hide bkgnd button Hide
  511.   end if
  512. end mouseUp
  513.  
  514.  
  515.  
  516. -- part 41 (field)
  517. -- low flags: 81
  518. -- high flags: 2002
  519. -- rect: left=258 top=32 right=52 bottom=426
  520. -- title width / last selected line: 0
  521. -- icon id / first selected line: 0 / 0
  522. -- text alignment: 1
  523. -- font id: 3
  524. -- text size: 9
  525. -- style flags: 0
  526. -- line height: 12
  527. -- part name: inlinkstitle
  528.  
  529.  
  530. -- part 42 (field)
  531. -- low flags: 81
  532. -- high flags: 2007
  533. -- rect: left=258 top=51 right=114 bottom=426
  534. -- title width / last selected line: 0
  535. -- icon id / first selected line: 0 / 0
  536. -- text alignment: 0
  537. -- font id: 2
  538. -- text size: 9
  539. -- style flags: 0
  540. -- line height: 12
  541. -- part name: inlinks
  542. ----- HyperTalk script -----
  543. on mouseUp
  544.   if the selection is empty then
  545.     set lockText of the target to false
  546.     repeat two times
  547.       click at the clickLoc
  548.     end repeat
  549.     put the selection into holder
  550.     push card
  551.     visual effect wipe right to black
  552.     visual effect wipe left
  553.     find holder in field keywords -- This line is the link
  554.     if the result is not empty then
  555.       answer "No match for keyword " "e& holder"e
  556.       pop card
  557.     end if
  558.     click at 0,0 --disable selection
  559.     set lockText of the target to true
  560.   end if
  561. end mouseUp
  562.  
  563.  
  564.  
  565. -- part 43 (button)
  566. -- low flags: 80
  567. -- high flags: 8003
  568. -- rect: left=413 top=37 right=58 bottom=452
  569. -- title width / last selected line: 0
  570. -- icon id / first selected line: 0 / 0
  571. -- text alignment: 1
  572. -- font id: 0
  573. -- text size: 12
  574. -- style flags: 0
  575. -- line height: 16
  576. -- part name: Hide
  577. ----- HyperTalk script -----
  578. on mouseUp
  579.   hide field inlinks
  580.   hide field inlinkstitle
  581.   hide bkgnd button Hide
  582. end mouseUp
  583.  
  584.  
  585.  
  586. -- part 46 (button)
  587. -- low flags: 00
  588. -- high flags: 0000
  589. -- rect: left=437 top=21 right=51 bottom=471
  590. -- title width / last selected line: 0
  591. -- icon id / first selected line: 902 / 902
  592. -- text alignment: 1
  593. -- font id: 0
  594. -- text size: 12
  595. -- style flags: 0
  596. -- line height: 16
  597. -- part name: Back
  598. ----- HyperTalk script -----
  599. on mouseUp
  600.   set lockscreen to true
  601.   go prev
  602.   set lockscreen to false
  603. end mouseUp
  604.  
  605.  
  606.  
  607. -- part 47 (button)
  608. -- low flags: 00
  609. -- high flags: 0000
  610. -- rect: left=474 top=21 right=51 bottom=508
  611. -- title width / last selected line: 0
  612. -- icon id / first selected line: 26425 / 26425
  613. -- text alignment: 1
  614. -- font id: 0
  615. -- text size: 12
  616. -- style flags: 0
  617. -- line height: 16
  618. -- part name: Back
  619. ----- HyperTalk script -----
  620. on mouseUp
  621.   set lockscreen to true
  622.   go next
  623.   set lockscreen to false
  624. end mouseUp
  625.  
  626.